#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main() {
    int fd = open("./log.txt", O_CREAT | O_RDWR);
    if (fd < 0) {
        perror("open");
        return 1;
    }
    close(1);
    dup2(fd, 1);
    for (;;) {
        char buf[1024] = {0};
        ssize_t read_size = read(0, buf, sizeof(buf) - 1);
        if (read_size < 0) {
            perror("read");
            break;
        }
        printf("%s", buf);
        fflush(stdout);
    }
    return 0;
}

// int main()
// {
//     close(1);
//     int fd = open(FILE_NAME,O_WRONLY|O_CREAT|O_TRUNC,0666);

//     dup2(fd, 1);

//     printf("%d\n",fd);
//     fflush(stdout);
//     close(fd);
// }
// int main()
// {
//     printf("%d\n",stdin->_fileno);
//     printf("%d\n",stdout->_fileno);
//     printf("%d\n",stderr->_fileno);
//     int fd = open(FILE_NAME,O_RDONLY);
//     printf("%d\n",fd);

//     // if(fd==-1)
//     // {
//     //     printf("open error");
//     //     return -1;
//     // }
//     // printf("%d\n",fd);
//     // const char*msg="hello zzkk\n";
//     // int cnt =5;

//     // char buffer[1024];
//     // while(1)
//     // {
//     //    int n =  read(fd, buffer, sizeof(buffer)-1);
//     //    buffer[n]=0;
//     //    printf("%s\n",buffer);
//     //    if(n==0)
//     //    {
//     //     break;
//     //    }
//     // }
//     // while(cnt--)
//     // {
//     //     ssize_t num = write(fd,msg,strlen(msg));
//     // }
    
//     close(fd);
//     return 0;
// }